package com.example.user_manage.mapper;

import com.example.user_manage.entity.TUserRole;
import org.springframework.stereotype.Repository;

@Repository
public interface TUserRoleMapper {

    /**
     * 插入用户角色对应关系，通过用户id和角色id
     * @param userId 用户id
     * @param roleId 角色id
     * @return 插入记录条数
     */
    int insertByUserIdRoleId(long userId,long roleId);

    /**
     * 查询用户角色对应关系，根据用户id和角色id。
     * @param userId 用户id
     * @param roleId 角色id
     * @return 用户角色对应关系对象
     */
    TUserRole selectByUserIdAndRoleId(Long userId,Long roleId);

    /**
     * 删除用户角色对应关系，通过用户id和角色id
     * @param userId 用户id号
     * @param roleId 角色id号
     * @return 删除的记录条数
     */
    int deleteByUserIdRoleId(long userId, long roleId);

    /**
     * 删除用户角色对应关系，通过用户id号
     * @param userId 用户id号
     * @return 删除的记录条数
     */
    int deleteByUserId(long userId);

//    -----------------------------逆向生成的方法----------------------------------

    /**
     * 通过id号删除用户角色对应关系
     * @param id id号
     * @return 删除记录条数
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 插入用户角色对应关系（所有字段全部插入）
     * @param record 用户角色对应的数据记录
     * @return 插入数据条数
     */
    int insert(TUserRole record);

    /**
     * 插入用户角色对应关系（不包括为空字段）
     * @param record 数据记录
     * @return 插入记录的条数
     */
    int insertSelective(TUserRole record);

    /**
     * 查询用户角色对应关系，通过id
     * @param id id号
     * @return 用户角色对应关系
     */
    TUserRole selectByPrimaryKey(Long id);

    /**
     * 更新用户角色对应关系（不包括空字段）
     * @param record 用户角色对应关系记录
     * @return 更新的数据记录条数
     */
    int updateByPrimaryKeySelective(TUserRole record);

    /**
     * 更新用户角色对应关系（包括空字段）
     * @param record 用户角色对应关系
     * @return 更新的数据源条数
     */
    int updateByPrimaryKey(TUserRole record);
}